<?php
//__unset 介入unset方法
class Test{
    private $abc = 'abc';
    public function __unset($var)
    {
        echo("__unset:".$var);
        unset($this->$var);
    }
}
$test = new Test();
unset($test->abc);

//避免要调用的方法不存在产生错误,可以调用__call方法避免
class Just{
    public function __call($func,$arguments)
    {
        echo($func."<br/>");
        print_r($arguments);
    }
}
$just = new Just();
$just->go(1,'ok');

//当静态方法不存在时,__callStatic会自动调用
class Like{
    public static function __callStatic($method,$arg)
    {
        echo($method."<br/>");
        print_r($arg);
    }
}
Like::go(2,'458just');
